package lib.bone.system.domain.dto.user;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lib.bone.common.converter.EncryptConverter;
import lombok.Data;

import javax.persistence.*;
import javax.validation.constraints.*;

/**
 * @Author : kindear
 * @Date : 2021-12-30
 * @Desc : 数据更新对象
 */

@Data
@ApiModel("用户信息更新数据传输对象")
public class UserUpdateDTO {
    @NotNull(message = "角色ID不可为空")
    @ApiModelProperty(value = "用户ID",name = "id")
    Long id;

    @NotNull(message = "部门ID不可为空")
    @ApiModelProperty("部门ID")
    private Long deptId;

//    @NotNull(message = "岗位ID不可为空")
//    @ApiModelProperty("岗位ID")
//    private Long postId;

    @NotBlank(message = "用户账号不可为空")
    @ApiModelProperty("用户账号")
    private String userName;

    @NotBlank(message = "用户昵称不可为空")
    @ApiModelProperty("用户昵称")
    private String nickName;

    @Pattern(regexp = "^[1][3,4,5,7,8][0-9]{9}$" , message = "电话号码有误")
    @ApiModelProperty("用户手机号")
    String phoneNumber;

    @NotBlank(message = "用户性别不可为空")
    @ApiModelProperty("用户性别")
    String sex;

    /** 用户邮箱 & 用户登录账号 **/
    @ApiModelProperty("用户邮箱")
    String email;



    /**
     * 用户头像地址 OSS
     */
    @ApiModelProperty("用户头像")
    private String avatar;

    /**
     * 账号状态 可选 0 正常！ 1 禁用
     */
    @Min(0)
    @Max(1)
    @ApiModelProperty("账号状态")
    private Integer status;

    /** 用户登录密码 & 用户隐私数据 **/
    @ApiModelProperty("用户登录密码")
    String password;
}
